/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.com.sysaut.seguridad.domain;

import java.io.Serializable;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author ytorres
 */
@Entity
@Table(name = "topcionaplicacion")
public class Topcionaplicacion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_opcion")
    private Short idOpcion;
    @Basic(optional = false)
    @Column(name = "id_padre")
    private short idPadre;
    @Basic(optional = false)
    @Column(name = "nom_opcion")
    private String nomOpcion;
    @Basic(optional = false)
    @Column(name = "link_opcion")
    private String linkOpcion;
    @Basic(optional = false)
    @Column(name = "num_orden")
    private char numOrden;
    @Basic(optional = false)
    @Column(name = "id_subsistema")
    private short idSubsistema;
//    @OneToMany(cascade = CascadeType.ALL, mappedBy = "topcionaplicacion")
//    private List<Topcionesporperfil> topcionesporperfilList;

    public Topcionaplicacion() {
    }

    public Topcionaplicacion(Short idOpcion) {
        this.idOpcion = idOpcion;
    }

    public Topcionaplicacion(Short idOpcion, short idPadre, String nomOpcion, String linkOpcion, char numOrden, short idSubsistme) {
        this.idOpcion = idOpcion;
        this.idPadre = idPadre;
        this.nomOpcion = nomOpcion;
        this.linkOpcion = linkOpcion;
        this.numOrden = numOrden;
        this.idSubsistema = idSubsistme;
    }

    public Short getIdOpcion() {
        return idOpcion;
    }

    public void setIdOpcion(Short idOpcion) {
        this.idOpcion = idOpcion;
    }

    public short getIdPadre() {
        return idPadre;
    }

    public void setIdPadre(short idPadre) {
        this.idPadre = idPadre;
    }

    public String getNomOpcion() {
        return nomOpcion;
    }

    public void setNomOpcion(String nomOpcion) {
        this.nomOpcion = nomOpcion;
    }

    public String getLinkOpcion() {
        return linkOpcion;
    }

    public void setLinkOpcion(String linkOpcion) {
        this.linkOpcion = linkOpcion;
    }

    public char getNumOrden() {
        return numOrden;
    }

    public void setNumOrden(char numOrden) {
        this.numOrden = numOrden;
    }

    public short getIdSubsistema() {
        return idSubsistema;
    }

    public void setIdSubsistema(short idSubsistema) {
        this.idSubsistema = idSubsistema;
    }

//    @XmlTransient
//    public List<Topcionesporperfil> getTopcionesporperfilList() {
//        return topcionesporperfilList;
//    }
//
//    public void setTopcionesporperfilList(List<Topcionesporperfil> topcionesporperfilList) {
//        this.topcionesporperfilList = topcionesporperfilList;
//    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idOpcion != null ? idOpcion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Topcionaplicacion)) {
            return false;
        }
        Topcionaplicacion other = (Topcionaplicacion) object;
        if ((this.idOpcion == null && other.idOpcion != null) || (this.idOpcion != null && !this.idOpcion.equals(other.idOpcion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "appdomain.Topcionaplicacion[ idOpcion=" + idOpcion + " ]";
    }
    
}
